# 标准内置对象—JSON
# 简介
# 定义
JSON(JavaScript Object Notation):JavaScript对象表示法。随着ES5的发布,新的标准内置了JSON对象,用于JSON对象和JSON字符串之间的转换操作。JSON是一种与语言无关的数据交换的格式,作用:
- JSON现在多用于存储和交换文本信息的语法
- 进行数据的传输
- JSON 比 XML 更小、更快,更易解析
# 基本规则
- 数据在名称/值对中,键用双引号(严格模式)引起来。顶级可以是对象或数组
- 值的取值类型:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
{"persons":[{},{}]} - 对象(在花括号中)
{"address":{"province":"陕西"....}} - null
- 数据由逗号分隔:多个键值对由逗号分隔
- 花括号保存对象:
{} - 方括号保存数组:
[]
# 获取数据
JSON 是 JavaScript 的原生内容,也就是JavaScript可以直接取出JSON 对象中的数据
JSON对象.键名JSON对象["键名"]数组对象[索引]遍历:
for...in、for...of、普通等都可以
# 方法
JSON作为全局对象,我们可以直接调用,它有如下两个函数:
JSON.parse(string):负责将字符串转换为JOSN对象并返回JSON.stringify(value[, replacer[, space]]):负责将数据转换为JSON字符串并返回value 就是我们需要转换的对象。可以是null, boolean, number, string, JSONObject, JSONArray
replacer 可以是一个数组或者一个函数,如果传入一个数组,则相当于一个白名单,只有出现在数组中的属性名对应的键值对才会出现结果中,如果指定一个函数,我们可以实现一些逻辑来过滤或更改将要出现在结果中的数据。可为null
space 是缩进空格,我们可以指定一个数字,表示缩进几个空格,还可以指定一个字符串,表示以指定字符串代替空格出现在缩进中